
#include <iostream>
#include <vector>
#include <algorithm>
using  namespace std;

// 表白函数。
void zsshow(const int & no)  {  
	cout << "亲爱的" << no << "号：我是一只傻傻鸟。\n";
}

// 表白仿函数。
class czs   
{
public:
	void operator()(const int & no) {
		cout << "亲爱的" << no << "号：我是一只傻傻鸟。\n";
	}
};

int main()
{
	vector<int> vv = { 5,8,3 };   // 存放超女编号的容器。
	
	// 第三个参数是普通函数。
	for_each(vv.begin(), vv.end(), zsshow);  

	// 第三个参数是仿函数。
	for_each(vv.begin(), vv.end(), czs());       

	// 第三个参数是lambda表达式。
	for_each(vv.begin(), vv.end(), 
		[](const int& no) {
			cout << "亲爱的" << no << "号：我是一只傻傻鸟。\n";
		}
	); 
}


